//出栈次序
public class C {
    //n:等待进栈的数目
    //m:栈中的个数
    static int f(int n,int m) {
        //为啥不给3个参数：出站后车的数量和顺序，因为进站顺序已经决定了出战的顺序
        if (n==0) return 1;//全部进站，出站的顺序只有一种
        if (m==0) return f(n-1,1);//车站为空，只能让车进站
        //就两种走法：1.让一辆车进站 2.让一辆车出站
        return f(n-1,m+1)+f(n,m-1);
    }
    public static void main(String[] args) {
        for (int i = 1; i <17 ; i++) {
            System.out.println(i+":"+f(i,0));
        }
    }
}
